package com.erp.hr.base.util;

import java.util.Calendar;

/**
 * 通用常量及工具方法接口
 * @Author: syz
 * @blame syz
 * @CreateTime: 2021/4/10
 */
public interface CommonUtils {

    /**
     * 1688默认密码
     */
    String DEFAULT_PASSWORD_1688 = "MiMaShi:123";

    /**
     * 成功
     */
    String SUCCESS = "success";

    /**
     * 是否删除 否
     */
    String IS_DEL_NO = "0";

    /**
     * 是否删除 是
     */
    String IS_DEL_YES = "1";

    /**
     * 年月日格式
     */
    String YEAR_MONTH_DAY = "yyyy-MM-dd";

    /**
     * 年月日时分秒格式
     */
    String YEAR_MONTH_DAY_TIME = "yyyy-MM-dd'T'HH:mm";

    /**
     * 电话号码正则
     */
    String PHONE_REGEX = "^(0\\d{2,3}-\\d{7,8})|(1[34578]\\d{9})?";

    /**
     * 前缀 零星采购
     */
    String PREFIX_SPORADIC = "LX-";

    /**
     * 前缀 月采购
     */
    String PREFIX_MONTH = "YUE-";

    /**
     * 前缀 询价单
     */
    String PREFIX_INQUIRY_LIST = "XJ-";

    /**
     * 前缀 供货单
     */
    String PREFIX_SUPPLY_LIST = "GH-";

    /**
     * 前缀 采购订单
     */
    String PREFIX_PURCHASE_ORDER = "CG-";

    /**
     * 申请编号长度
     */
    int PURCHASING_REQUISITION_LENGRH = 4;

    /**
     * 申请类型 零星采购
     */
    String PURCHASING_REQUISITION_TYPE_SPORADIC = "0";

    /**
     * 申请类型 月采购
     */
    String PURCHASING_REQUISITION_TYPE_MONTH = "1";

    /**
     * 申请状态 草稿
     */
    String PURCHASING_REQUISITION_STATUS_DRAFT = "0";

    /**
     * 申请状态 审批中
     */
    String PURCHASING_REQUISITION_STATUS_SUBMIT = "1";

    /**
     * 申请状态 审批通过
     */
    String PURCHASING_REQUISITION_STATUS_AUDIT_END = "2";

    /**
     * 申请状态 退回
     */
    String PURCHASING_REQUISITION_STATUS_REJECT = "3";

    /**
     * 申请详情状态 草稿
     */
    String PURCHASING_REQUISITION_DETAI_STATUS_DRAFT = "0";

    /**
     * 申请详情状态 寻源中
     */
    String PURCHASING_REQUISITION_DETAIL_STATUS_SEARCH_SOURCE = "1";

    /**
     * 审核类型 零星计划
     */
    String PURCHASING_AUDIT_TYPE_SPORADIC = "0";

    /**
     * 审核类型 月计划
     */
    String PURCHASING_AUDIT_TYPE_MONTH = "1";

    /**
     * 采购类型 单一比价
     */
    String PROCUREMENT_TYPE_ONLY = "0";

    /**
     * 采购类型 询比价
     */
    String PROCUREMENT_TYPE_COMPARE = "1";

    /**
     * 询价类型 1688
     */
    String INQUIRY_TYPE_1688 = "0";

    /**
     * 询价类型 多供应商
     */
    String INQUIRY_TYPE_OTHER = "1";

    /**
     * 交易方式 账期支付
     */
    String TRADING_MANNER_PAYMENT_DAYS  = "0";

    /**
     * 交易方式 分阶段支付
     */
    String TRADING_MANNER_STAGE = "1";

    /**
     * 指定账期结算日 指定
     */
    String DESIGNATED_SETTLEMENT_DATE_TRUE  = "0";

    /**
     * 指定账期结算日 不指定
     */
    String DESIGNATED_SETTLEMENT_DATE_FALSE = "1";

    /**
     * 最少选择供应商数量
     */
    int MIN_SUPPLIER_NUM = 2;

    /**
     * 询价单状态 应答中
     */
    String INQUIRY_LIST_STATUS_ANSWER = "0";

    /**
     * 询价单状态 审批中
     */
    String INQUIRY_LIST_STATUS_APPROVAL = "1";

    /**
     * 询价单状态 应答完成
     */
    String INQUIRY_LIST_STATUS_ANSWER_END = "2";

    /**
     * 询价单状态 审批完成
     */
    String INQUIRY_LIST_STATUS_APPROVAL_END = "3";

    /**
     * 询价单状态 驳回
     */
    String INQUIRY_LIST_STATUS_APPROVAL_REJECT = "4";

    /**
     * 询价单状态 异常
     */
    String INQUIRY_LIST_STATUS_APPROVAL_ERROR = "5";

    /**
     * 采购订单状态 草稿
     */
    String PURCHASE_ORDER_STATUS_DRAFT = "0";

    /**
     * 采购订单状态 待发货
     */
    String PURCHASE_ORDER_STATUS_SHIPMENT = "1";

    /**
     * 采购订单状态 待收货
     */
    String PURCHASE_ORDER_STATUS_TAKE_IN = "2";

    /**
     * 采购订单状态 待结算
     */
    String PURCHASE_ORDER_STATUS_SETTLEMENT = "3";

    /**
     * 采购订单状态 待开票
     */
    String PURCHASE_ORDER_STATUS_INVOICE = "4";

    /**
     * 采购订单状态 待付款
     */
    String PURCHASE_ORDER_STATUS_PAYMENT = "5";

    /**
     * 采购订单状态 已完成
     */
    String PURCHASE_ORDER_STATUS_END = "6";

    /**
     * 总部
     */
    String HEAD_OFFICE = "1";

    /**
     * 分公司
     */
    String FILIALE = "0";

    /**
     * 通过
     */
    String PASS = "1";

    /**
     * 驳回
     */
    String REJECT = "0";

    /**
     * 审批状态 待审批
     */
    String APPROVAL_STATUS_BEGIN = "1";

    /**
     * 审批状态 审批中
     */
    String APPROVAL_STATUS_UNDERWAY = "2";

    /**
     * 审批状态 驳回
     */
    String APPROVAL_STATUS_REJECT = "3";

    /**
     * 审批状态 完成
     */
    String APPROVAL_STATUS_END = "4";

    /**
     * 零星审批流程id
     */
    String SPORADIC_ACTIVITI_ID = "1024";

    /**
     * 零星审批流程key
     */
    String SPORADIC_ACTIVITI_KEY = "erp_cg_day";

    /**
     * 零星审批业务主管
     */
    String SPORADIC_ACTIVITI_3 = "lxcg_ywzg";

    /**
     * 月审批流程id
     */
    String MONTH_ACTIVITI_ID = "2048";

    /**
     * 月审批流程key
     */
    String MONTH_ACTIVITI_KEY = "erp_cg_month";

    /**
     * 月审批业务主管
     */
    String MONTH_ACTIVITI_3 = "ycg_ywzg";

    /**
     * 总部比价流程id
     */
    String HEAD_OFFICE_PRICE_PARITY_ID = "3072";

    /**
     * 总部比价流程key
     */
    String HEAD_OFFICE_PRICE_PARITY_KEY = "erp_bj_zb";

    /**
     * 分公司比价流程id
     */
    String FILIALE_PRICE_PARITY_ID = "4096";

    /**
     * 分公司比价流程key
     */
    String FILIALE_PRICE_PARITY_KEY = "erp_bj_fgs";

    /**
     * 合同审批流程
     */
    String ACTIVITI_AGREEMENT_BUS_ID = "1000";

    /**
     * 合同审批流程待审批节点
     */
    String ACTIVITI_ACTIVE_AGREEMENT_STATUS_FLG = "ht_flzgsp";

    /**
     * 合同审批流程key
     */
    String PROCESS_DEGINITION_KEY = "erp_htqp_lc";

    /**
     * 合同终止流程key
     */
    String PROCESS_CLOSE_KEY = "ht_close_lc";

    /**
     * 合同补充流程key
     */
    String PROCESS_APPEND_KEY = "erp_htbc_lc";

    /**
     * 供应商注册审批流程key
     */
    String PROCESS_VENDOR_KEY = "erp_gys_register";
    /**
     * 供应商加入黑名单审批流程key
     */
    String PROCESS_ADDBLACK_KEY = "erp_gys_addblack";


    /**
     * 出库财务审批
     * */
    String FINANCE_APPROVAL_KEY = "erp_finance_approval";

    /**
     * 出库审批流程
     * */
    String FINANCE_APPROVAL_ID = "8110";

    String 	dwsjzxds="100";  //党委书记执行董事
    String dwfsjzjl="101";  //党委副书记总经理
    String jwsj="102";  //纪委书记
    String fzjljhqsybjldhpxjdzr="103";  //副总经理兼后勤事业部经理岱海培训基地主任
    String fzjl="104";  //副总经理
    String ghzx="105";  //工会主席
    String fzjljdcbgszr="106";  //副总经理兼督查办公室主任
    String fzr="107";  //副主任
    String bzzl="108";  //部长助理
    String zhsw="109";  //综合事务
    String dàgl="110";  //档案管理
    String clgl="111";  //车辆管理
    String xzws="112";  //行政文书
    String bz="113";  //部长
    String jnfwglyxgsghcbbgszr="114";  //京能服务管理有限公司工会筹备办公室主任
    String fbz="115";  //副部长
    String xcsw="116";  //宣传事务
    String tzzsj="117";  //团总支书记
    String ghsw="118";  //工会事务
    String wwbfzr="119";  //维稳办副主任
    String wwbfzrzdd="120";  //维稳办副主任驻岱电
    String flsb="121";  //福利社保
    String xcgl="122";  //薪酬管理
    String rsgl="123";  //人事管理
    String tzgl="124";  //投资管理
    String jyfxbzzl="125";  //经营分析部长助理
    String zg="126";  //主管
    String jxzg="127";  //见习主管
    String wzgl="128";  //物资管理
    String jyfx="129";  //经营分析
    String swgl="130";  //税务管理
    String bbgl="131";  //报表管理
    String ysgl="132";  //预算管理
    String hsgl="133";  //核算管理
    String flsw="134";  //法律事务
    String htgl="135";  //合同管理
    String zjnxmāqzg="136";  //驻京宁项目安全主管
    String zltxgl="137";  //质量体系管理
    String xxwh="138";  //信息维护
    String zddāqjczzz="139";  //驻岱电安全监察站站长
    String zjlxmāqfjl="140";  //驻京隆项目安全副经理
    String zjnāqjczzz="141";  //驻集宁安全监察站站长
    String zslxmāqfjl="142";  //驻盛乐项目安全副经理
    String zndfgsāqfjl="143";  //驻宁东分公司安全副经理
    String zzzkhgsāqjczzz="144";  //驻涿州科环公司安全监察站站长
    String zzsxmāqfjl="145";  //驻漳山项目安全副经理
    String zyyfgsāqjlzl="146";  //驻右玉分公司安全经理助理
    String zkbsxmāqjlzl="147";  //驻康巴什项目安全经理助理
    String zjnāqjczjnxmzzāqzg="148";  //驻集宁安全监察站京宁项目专职安全主管
    String zjlxmzzāqy="149";  //驻京隆项目专职安全员
    String zslxmzzāqzg="150";  //驻盛乐项目专职安全主管
    String zjtxmzzāqzg="151";  //驻京泰项目专职安全主管
    String zjtxmzzāqy="152";  //驻京泰项目专职安全员
    String zcfxmzzāqzg="153";  //驻赤峰项目专职安全主管
    String zndxmzzāqzg="154";  //驻宁东项目专职安全主管
    String zqhdxmāqjlzl="155";  //驻秦皇岛项目安全经理助理
    String zyyfgszzāqzg="156";  //驻右玉分公司专职安全主管
    String zddāqjczzzāqy="157";  //驻岱电安全监察站专职安全员
    String zkbsxmzzāqzg="158";  //驻康巴什项目专职安全主管
    String zqhdxmzzāqzg="159";  //驻秦皇岛项目专职安全主管
    String bzjjgdzbsj="160";  //部长兼机关党支部书记
    String jjjc="161";  //纪检监察
    String zjlzlfzjjs="162";  //总经理助理副总经济师
    String gggzzbgscy="163";  //改革工作组办公室成员
    String bzjjnfwgsnmgfgszjljnmgdzbsj="164";  //部长兼京能服务公司内蒙古分公司总经理兼内蒙古党支部书记
    String jlzl="165";  //经理助理
    String zhgl="166";  //综合管理
    String cyfw="167";  //餐饮服务
    String gyfw="168";  //公寓服务
    String cn="169";  //出纳
    String zjlzljjl="170";  //总经理助理兼经理
    String fjlzz="171";  //副经理正职
    String fjl="172";  //副经理
    String zsjlzl="173";  //资深经理助理
    String wzgy="174";  //物资供应
    String jygl="175";  //经营管理
    String wszzby="176";  //污水站值班员
    String wyzg="177";  //物业主管
    String wyfw="178";  //物业服务
    String hzcy="179";  //灰渣储运
    String gyfwjhdzx="180";  //公寓服务兼活动中心
    String scyx="181";  //生产运行
    String jxwh="182";  //检修维护
    //String jlzl="183";  //经理助理
    String èjgcs="184";  //二级工程师
    String wywh="185";  //物业维护
    String xxlry="186";  //信息录入员
    String ghzby="187";  //过衡值班员
    String ghy="188";  //过衡员
    String cybbz="189";  //采样班班长
    String hyzz="190";  //化验专责
    String czzz="191";  //采制专责
    String hybbz="192";  //化验班班长
    String czyy="193";  //采制样员
    String czy="194";  //采制员
    String mhyy="195";  //煤化验员
    String jszg="196";  //技术专工
    String mcjjglzg="197";  //煤场机具管理主管
    String shyy="198";  //水化验员
    String czyzz="199";  //采制样专责
    String hyy="200";  //化验员
    String yhyy="201";  //油化验员
    String shysbz="202";  //水化验室班长
    String msysbz="203";  //煤实验室班长
    String jlhyxy="204";  //计量化验学员
    String mcdd="205";  //煤场调度
    String xcsj="206";  //小车司机
    String zbsj="207";  //中巴司机
    String dcsj="208";  //大车司机
    String sj="209";  //司机
    String jdy="210";  //接待员
    String dàgly="211";  //档案管理员
    String zhljdlb="212";  //综合楼接待领班
    String xxgly="213";  //信息管理员
    String ddy="214";  //调度员
    String kfbgzz="215";  //库房保管专责
    String mcglzz="216";  //煤场管理专责
    String swy="217";  //事务员
    String jdfw="218";  //接待服务
    String dàglzg="219";  //档案管理主管
    String kfgl="220";  //库房管理
    String txzz="221";  //通讯专责
    String txwhzg="222";  //通讯维护专工
    String kfbgy="223";  //库房保管员
    String mcjxgjzg="224";  //煤场机械高级主管
    String xlg="225";  //修理工
    String ccgl="226";  //仓储管理
    String xxzz="227";  //信息专责
    String ghbbz="228";  //过衡班班长
    //String czyzz="229";  //采制样主值
    String āqpxzg="230";  //安全培训专工
    String yhysbz="231";  //油化验室班长
    String hbzz="232";  //环保专责
    String clglzz="233";  //车辆管理专责
    String jdzg="234";  //接待主管
    String wxgjzg="235";  //维修高级主管
    String xfbwgjzg="236";  //消防保卫高级主管
    String xfzg="237";  //消防主管
    String pjglzz="238";  //票据管理专责
    String jl="239";  //经理
    String rmfw="240";  //燃煤服务
    String lhyh="241";  //绿化养护
    String lxr="999"; //联系人 专门为供应商岗位定制的编号

    /**
     * 项目负责人
     */
    String XMFZR = "290";

    /**
     * 部门负责人
     */
    String BMFZR = "291";

    /**
     * 分公司负责人
     */
    String FGSFZR = "292";

    /**
     * 采购小组组长
     */
    String CGZZ = "293";

    /**
     * 采购员
     */
    String CGY = "294";

    /**
     * 分管领导
     */
    String FGLD = "301";

    /**
     * 经营计划部负责人
     */
    String JYJHBFZR = "308";

    /**
     * 经营计划部物资主管
     */
    String JYJHBWZZG = "309";

    /**
     * 计划物资专管员
     */
    String JHWZZGY = "310";

    /**
     * 公司经营分管领导
     */
    String GSJYFGLD = "311";

    /**
     * 业务管理部编码
     */
    String VIRTUAL_DEPARTMENT_CODE = "cgsqspb";

    String VENDORROLEID="rgys";
    /**
     * 当前时间是否在月申请期间
     * @return 是否在月申请期间
     */
    static boolean isApplicationPeriod() {
        int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
        return day >= 20 && day <= 25;
    }

}